package com.prd.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.model.EntBudget;
import com.prd.model.EntBudgetCheck;
import com.prd.vo.EntBudgetVo;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface EntBudgetService extends IService<EntBudget> {

    int insertInfo(EntBudget entBudget);

    int updateInfo(EntBudget entBudget);

    /**
     * 查询列表
     *
     * @param entBudget
     * @param catalog   0：全部、1：草稿、2：待审批、3：不通过、4：执行中、5：执行完成
     * @return
     */
    List<EntBudget> listInfo(String entBudget, Integer catalog);

    @Transactional
    int saveOrUpdateInfo(EntBudget entBudget, Boolean boo);

    /**
     * 查询详情
     *
     * @param id
     * @return
     */
    EntBudgetVo details(Long id);

    /**
     * 申请审核
     *
     * @param id
     * @return
     */
    int applyAudit(Long id);

    int pass(EntBudgetCheck entBudgetCheck);

    /**
     * 增加抄送人
     *
     * @param budgetId
     * @param makes
     * @return
     */
    int addMake(Long budgetId, Long[] makes);

    /**
     * 查询人员权限
     *
     * @param budgetId
     * @return
     */
    JSONArray jurisdiction(Long budgetId);

    /**
     * 添加决算意见
     *
     * @param entBudgetCheck
     * @return
     */
    int addOpinion(EntBudgetCheck entBudgetCheck);
}
